MATLAB Function Reference |
Graphical Interface
除了用clear函數之外,也可以用在 MATLAB桌面上的編輯目錄下的清除工作空間,或者 in the context menu in the Workspace browser.
Syntax
clear
clear name
clear name1 name2 name3 ...
clear global name
clear keyword
clear('name1','name2','name3',...)
Description
clear name
只從工作空間移除以name為名的M檔案或MEX檔案或變數。
若被移除的變數為一全區變數,則只會被從目前正在使用的工作空間中移除,但是其他宣告該變數為全區變數的函數仍然可以取用之。若已經mlock函數鎖定,則該變數仍存於記憶體中。
使用部分路徑( partial path)以區別各個多重負載(overloaded)的函數。
舉例來說, clear inline/display
指令只會對display方法下的inline物件做清除,而其它的
implementations 仍保留在記憶體中。
clear name1 name2 name3 ...
將 name1
,
name2
, name3
從工作空間中移除。
clear global name
移除全區變數 name
.
若被移除的變數為一全區變數,則只會被從目前正在使用的工作空間中移除,但是其他宣告該變數為全區變數的函數仍然可以取用之。使用
clear global name
可以完全將該變數從工作空間中移除。
clear
keyword
移除由 keyword
所指示的變數。
clear('name1','name2','name3',...)
是這個語法的函數型態。當函數名稱或變數名稱以字串存的時候使用這個方法。
Remarks
你可以使用萬用字元 (*
)
來選擇性的移除變數.舉例來說, clear my*
會移除任何以
my
作為開頭的變數。
移除一個函數同時也會移除偵錯的中斷點,並且重新初始化重複出現的變數。這是因為一旦M檔案經過修改或清除的話,則所有函數及重複出現的變數的中斷點都會被清除。
當你在函數中使用clear時,對你的函數以及基礎工作空間(base workspace)會有如下的影響:
clear name
-如果 name
是一個函數的名字,該函數在函數工作空間(function
workspace)以及你的基礎工作空間(base workspace)中都會被清除掉。clear
functions
-所有在函數工作空間及你的基礎工作空間的函數都會被清除掉。clear
global
-
所有在函數空間及你的工作空間中的全區變數都會被清除。clear
all
-所有函數空間及你的基礎工作空間中的函數,全區變數以及類別(class)都會被清除。
Limitations
clear
對在UNIX下執行的MATLAB的配置給MATLAB的記憶體數目沒有影響。
Examples
Name Size Bytes Class c 3x4 1200 cell array frame 1x1 java.awt.Frame gbl1 1x1 8 double array (global) gbl2 1x1 8 double array (global) xint 1x1 1 int8 array
clear xint
clear global whos Name Size Bytes Class c 3x4 1200 cell array frame 1x1 java.awt.Frame
要從記憶體中清除所有已編譯的M檔案和MEX檔案的話,鍵入
clear functions
。在下面的例子中, clear
functions
由於某一函數已被鎖定,所以不能夠被清除。
clear functions % Attempt to clear all functions.inmem
ans = 'testfun' % One M-file function remains in memory.mislocked
testfun ans = 1 % This function is locked in memory.
munlock
testfun
clear functions
inmem
ans =
Empty cell array: 0-by-1
See Also
import
,
mlock
, munlock
, pack
,
persistent
,
who
, whos
clc | clear (serial) |